package com.itcast.admin.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.itcast.admin.domain.Setmeal;
import com.itcast.admin.domain.request.CreateSetmealReqDTO;
import com.itcast.admin.domain.request.SetmealPageReqDTO;
import com.itcast.admin.domain.response.GetSetmealResDTO;
import com.itcast.admin.domain.response.ItemAndGroupResDTO;
import com.itcast.admin.domain.response.SetmealPagerResDTO;
import com.jzo2o.common.model.PageResult;

import java.util.List;

/**
 * <p>
 * 套餐表 服务类
 * </p>
 *
 * @author author
 * @since 2024-11-05
 */
public interface ISetmealService extends IService<Setmeal> {

    /**
     * 分页查询套餐列表
     * @param setmealPageReqDTO
     * @return
     */
    PageResult<SetmealPagerResDTO> pageQuery(SetmealPageReqDTO setmealPageReqDTO);

    /**
     * 新增套餐
     * @param createSetmealReqDTO
     */
    void createSetmeal(CreateSetmealReqDTO createSetmealReqDTO);

    /**
     *
     * @param id
     * @return
     */
    GetSetmealResDTO getSetmealById(Integer id);

    /**
     * 根据id修改套餐
     * @param id,createSetmealReqDTO
     */
    void updateSetmealById(Integer id,CreateSetmealReqDTO createSetmealReqDTO);

    /**
     * 根据id禁用套餐
     * @param id
     */
    void disableSetmealById(Integer id);

    /**
     * 根据id启用套餐
     * @param id
     */
    void enableSetmealById(Integer id);

    /**
     * 根据id删除套餐
     * @param id
     */
    void deleteSetmealById(Integer id);

    /**
     * 根据id查询检查项目录
     * @param id
     */
    List<ItemAndGroupResDTO> queryCheckCategory(Integer id);
}
